The management of software applications is a very complex process. The problem is particularly acute in large data processing systems—for example, when the software applications run in heterogeneous network environments or have multi-tier structures.
In this context, a critical aspect is the management of any error condition that may occur during the use of each software application (for example, in a production environment). Typically, in this case the software application logs an error message that identifies the error condition (by means of a corresponding error code).
In order to facilitate the handling of the logged error messages, standard formats thereof have been proposed in the last years. For example, the Common Base Event (CBE) specification defines a set of common fields for all the error messages.
In any case, each error message is analyzed by a system administrator (for example, to try solving the corresponding error condition). A commonplace approach is to use the error code included in the error message to retrieve further information about the error condition that caused it. For this purpose, the system administrator may search the error code in manuals of the software application; the system administrator then reads any information provided by the manuals about the corresponding error condition.
However, this activity is very time consuming. Particularly, when the manuals are available in hard-copy form, the system administrator first of all must take the manuals (generally not readily available); s/he must then look up the error code in their index(es) and move to the corresponding pages for reading the provided information. Similar drawbacks are experienced when the manuals are available in soft-copy form. Indeed, some time is spent to locate the files storing the manuals and to load each one of them; moreover, a lot of time is also wasted when the manuals have not been installed on the system, so that they must be retrieved from a CD-ROM. In any case, the system administrator must again scroll the manuals to find the required information. An additional problem is that the manuals may be not up-to-date; this typically happens when the manuals are available in hard-copy form, but it is very common even when the manuals are available in soft-copy form (since generally their latest versions are never downloaded). Therefore, the obtained information may be not correct (for example, when it refers to a previous version of the software application).
Sometimes, the information provided by the manuals is not satisfactory. In this case, the system administrator typically accesses other information sources; for example, information about the error condition may be searched in customer support databases, in on-line forums, and the like. However, this activity requires even far more time; moreover, the obtained information may be inaccurate (especially when it is provided by an unofficial source).
In any case, the activity of analyzing the error condition is a substantial manual task; particularly, a deep investigation process is required by the system administrator to identify the information that is actually required within the available sources. Therefore, the quality of the obtained results strongly depends on the skill of the system administrator.
All of the above may have deleterious effects on business aspects relating to the software application (for example, when the correction of error conditions impacting critical business areas is delayed).